﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DotNet.AbstartAndInterface
{
    public class Iphone : BasePhone
    {
        /// <summary>
        /// 下面四个方法为对BasePhone中四个抽象方法的覆写
        /// </summary>
        public override void Brand()
        {
            Console.WriteLine("iphone品牌");
        }

        public override void System()
        {
            Console.WriteLine("iphone系统");
        }

        public override void Call()
        {
            Console.WriteLine("iphone电话");
        }

        public override void Do<T>()
        {
            Console.WriteLine("iphone做的事情");
        }
        /// <summary>
        /// 下面的ITunes方法为子类特有的方法
        /// </summary>
        public void ITunes()
        {
            Console.WriteLine("iphone连接到ITunes上");
        }
        /// <summary>
        /// 下面的ShowVirtual方法覆写父类中的虚方法
        /// </summary>
        public new void ShowVirtual()
        {
            Console.WriteLine("这是子类的showVirtual方法");
        }

        /// <summary>
        /// 下面的show和父类中的一模一样，但是覆盖不了
        /// </summary>
        public  void show()
        {
            Console.WriteLine("这是子类中的show方法");
        }
    }
}
